package com.ayf.payment.game.api.entity;

import com.ayf.payment.game.api.type.Status;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;

@Table(name = "g_merchant_settle_rate_custom")
public class MerchantSettleRateCustom {
    /**
     * 商户id
     */
    @Column(name = "merchant_id")
    private Integer merchantId;

    /**
     * 费率id
     */
    @Column(name = "rate_id")
    private Integer rateId;

    /**
     * 支付产品id
     */
    @Column(name = "pay_product_id")
    private Integer payProductId;

    /**
     * 状态：'ENABLE'启用，'PROHIBIT'禁用
     */
    @Column(name = "`status`")
    private Status status;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 最后更新时间
     */
    @Column(name = "last_update_time")
    private Date lastUpdateTime;

    @Transient
    private List<Integer> productIds;

    public List<Integer> getProductIds() {
        return productIds;
    }

    public void setProductIds(List<Integer> productIds) {
        this.productIds = productIds;
    }

    /**
     * 获取商户id
     *
     * @return merchant_id - 商户id
     */
    public Integer getMerchantId() {
        return merchantId;
    }

    /**
     * 设置商户id
     *
     * @param merchantId 商户id
     */
    public void setMerchantId(Integer merchantId) {
        this.merchantId = merchantId;
    }

    /**
     * 获取费率id
     *
     * @return rate_id - 费率id
     */
    public Integer getRateId() {
        return rateId;
    }

    /**
     * 设置费率id
     *
     * @param rateId 费率id
     */
    public void setRateId(Integer rateId) {
        this.rateId = rateId;
    }

    /**
     * 获取支付产品id
     *
     * @return pay_product_id - 支付产品id
     */
    public Integer getPayProductId() {
        return payProductId;
    }

    /**
     * 设置支付产品id
     *
     * @param payProductId 支付产品id
     */
    public void setPayProductId(Integer payProductId) {
        this.payProductId = payProductId;
    }

    /**
     * 获取状态：'ENABLE'启用，'PROHIBIT'禁用
     *
     * @return status - 状态：'ENABLE'启用，'PROHIBIT'禁用
     */
    public Status getStatus() {
        return status;
    }

    /**
     * 设置状态：'ENABLE'启用，'PROHIBIT'禁用
     *
     * @param status 状态：'ENABLE'启用，'PROHIBIT'禁用
     */
    public void setStatus(Status status) {
        this.status = status;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     *
     * @return last_update_time - 最后更新时间
     */
    public Date getLastUpdateTime() {
        return lastUpdateTime;
    }

    /**
     * 设置最后更新时间
     *
     * @param lastUpdateTime 最后更新时间
     */
    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }
}